home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1997 #3 / Amiga Plus CD - 1997 - No. 03.iso / pd / programmierung / alienbreed3d2_src / cheesesauce / andy.lha / pauseopts < prev    next >
Text File  |  1995-09-16  |  5KB  |  340 lines

  1.  
  2. ; Options:
  3. ; FAST buffer on/off
  4. ; Floors Gouraud/Textured/Plain
  5. ;
  6. ; FIRST HALVE SCREEN BRIGHTNESS
  7.  
  8.  move.l frompt,pausept
  9.  move.l olddrawpt,d3
  10.  add.l #10,d3
  11.  move.l d3,pbuffpt
  12.  
  13.  bsr DRAWPAUSESCRN
  14.  
  15.  move.l drawpt,d0
  16.  move.l olddrawpt,drawpt
  17.  move.l d0,olddrawpt
  18.  move.l d0,$dff084    
  19.  move.l drawpt,a3
  20. ; move.l COPSCRNBUFF,a3
  21.  adda.w #10,a3
  22.  move.l a3,frompt
  23.  add.l #104*4*40,a3
  24.  move.l a3,midpt
  25.  
  26. ;waitfortop:
  27. ; btst.b #0,intreqrl(a6)
  28. ; beq waitfortop
  29. ; move.w #$1,intreq(a6)
  30.  
  31. .waitpress
  32.  
  33.  bsr CHANGEPOPTS
  34.  
  35.  cmp.b #'s',mors
  36.  beq.s .otherk
  37.  tst.b PLR1JOY
  38.  beq.s .NOJOY
  39.  jsr _ReadJoy1
  40.  bra .thisk
  41. .otherk:
  42.  tst.b PLR2JOY
  43.  beq.s .NOJOY
  44.   jsr _ReadJoy2
  45. .thisk:
  46. .NOJOY:
  47.  tst.b $19(a5)
  48.  bne.s .unp
  49.  btst #7,$bfe001
  50.  bne.s .waitpress
  51. .unp:
  52.  
  53. .wr2:
  54.  
  55.  
  56.  cmp.b #'s',mors
  57.  beq.s .otherk2
  58.  tst.b PLR1JOY
  59.  beq.s .NOJOY2
  60.  jsr _ReadJoy1
  61.  bra .thisk2
  62. .otherk2:
  63.  tst.b PLR2JOY
  64.  beq.s .NOJOY2
  65.   jsr _ReadJoy2
  66. .thisk2:
  67. .NOJOY2:
  68.  
  69.  tst.b $19(a5)
  70.  bne.s .wr2
  71.  btst #7,$bfe001
  72.  beq.s .wr2
  73.  
  74.  rts
  75.  
  76. CHECKUPDOWN
  77.  btst #1,$dff00c
  78.  sne d0
  79.  btst #1,$dff00d
  80.  sne d1
  81.  btst #0,$dff00c
  82.  sne d2
  83.  btst #0,$dff00d
  84.  sne d3
  85.  eor.b d0,d2
  86.  eor.b d1,d3
  87.  
  88.  cmp.b #'s',mors
  89.  beq.s .slavechk
  90.  tst.b PLR1JOY
  91.  bne.s .nofing
  92.  bra.s .maschk
  93. .slavechk:
  94.  tst.b PLR2JOY
  95.  bne.s .nofing
  96.  
  97. .maschk:
  98.  
  99.  moveq #0,d6
  100.  move.l #KeyMap,a5
  101.  move.b forward_key,d6
  102.  tst.b (a5,d6.w)
  103.  sne d0
  104.  or.b d0,d2
  105.  move.b backward_key,d6
  106.  tst.b (a5,d6.w)
  107.  sne d1
  108.  or.b d1,d3
  109. .nofing:
  110.  
  111.  rts
  112.  
  113. CHANGEPOPTS:
  114.  
  115.  bsr CHECKUPDOWN
  116.  
  117.  
  118.  tst.b d3
  119.  beq.s nobotchange
  120.  
  121.  move.w BOTPOPT,d0
  122.  addq #1,d0
  123.  and.w #3,d0
  124.  move.w d0,BOTPOPT
  125.  clr.b ANYFLOOR
  126.  clr.b GOURSEL
  127.  st CLRNOFLOOR
  128.  move.l #SimpleFloorLine,THEFLOORLINE
  129.  cmp.w #2,d0
  130.  bgt.s .nofloor
  131.  beq.s .plainfloor
  132.  tst.w d0
  133.  bgt.s .textureonly
  134.  st GOURSEL
  135. .textureonly
  136.  move.l #FloorLine,THEFLOORLINE
  137. .plainfloor
  138.  st ANYFLOOR
  139.  clr.b CLRNOFLOOR
  140. .nofloor:
  141.  
  142.  muls #12,d0
  143.  add.l #FLOOROPTS,d0
  144.  move.l d0,a0
  145.  move.l #FLOOROPTLINE,a1
  146.  bsr PUTINPLINE
  147.  
  148.  bsr DRAWPAUSESCRN
  149.  
  150. billythe
  151.  bsr CHECKUPDOWN
  152.  tst.b d3
  153.  bne.s billythe
  154.  
  155. nobotchange:
  156.  
  157.  rts
  158.  
  159. THEFLOORLINE: dc.l FloorLine
  160. USECOPBUFFER: dc.w 0
  161. TOPPOPT: dc.w 0
  162. BOTPOPT: dc.w 0
  163. ANYFLOOR: dc.w 0
  164.  
  165. PUTINPLINE:
  166.  moveq #11,d7
  167. .pppp
  168.  move.b (a0)+,(a1)+
  169.  dbra d7,.pppp
  170.  rts
  171.  
  172. pbuffpt: dc.l 0
  173. pausept: dc.l 0
  174.  
  175. DRAWPAUSESCRN:
  176.  move.l #PAUSEFONT,a0
  177.  move.l #PAUSETXT,a1
  178.  move.l pausept,a2
  179.  move.l pbuffpt,a3
  180.  bsr DRAWPAUSEBLOCK
  181.  add.w #4,a2
  182.  add.w #4,a3
  183.  bsr DRAWPAUSEBLOCK
  184.  add.w #4,a2
  185.  add.w #4,a3
  186.  bsr DRAWPAUSEBLOCK
  187.  rts
  188.  
  189. DRAWPAUSEBLOCK:
  190.  move.w #3,d0
  191. .across:
  192.  moveq #0,d1
  193.  moveq #0,d2
  194.  moveq #9,d3
  195.  moveq #0,d5
  196. .down:
  197.  moveq #0,d4
  198.  move.b (a1,d2.w),d4
  199.  add.w #12,d2
  200.  sub.b #'A',d4
  201.  bge .itsalet
  202.  
  203.  moveq #7,d6
  204. .dospc:
  205.  move.w (a3,d5.l),d1
  206.  and.w #$eee,d1
  207.  lsr.w #1,d1
  208.  move.w d1,(a2,d5.l)
  209.  move.w 4(a3,d5.l),d1
  210.  and.w #$eee,d1
  211.  lsr.w #1,d1
  212.  move.w d1,4(a2,d5.l)
  213.  move.w 8(a3,d5.l),d1
  214.  and.w #$eee,d1
  215.  lsr.w #1,d1
  216.  move.w d1,8(a2,d5.l)
  217.  move.w 12(a3,d5.l),d1
  218.  and.w #$eee,d1
  219.  lsr.w #1,d1
  220.  move.w d1,12(a2,d5.l)
  221.  move.w 16(a3,d5.l),d1
  222.  and.w #$eee,d1
  223.  lsr.w #1,d1
  224.  move.w d1,16(a2,d5.l)
  225.  move.w 20(a3,d5.l),d1
  226.  and.w #$eee,d1
  227.  lsr.w #1,d1
  228.  move.w d1,20(a2,d5.l)
  229.  move.w 24(a3,d5.l),d1
  230.  and.w #$eee,d1
  231.  lsr.w #1,d1
  232.  move.w d1,24(a2,d5.l)
  233.  move.w 28(a3,d5.l),d1
  234.  and.w #$eee,d1
  235.  lsr.w #1,d1
  236.  move.w d1,28(a2,d5.l)
  237.  add.l #104*4,d5
  238.  dbra d6,.dospc
  239.  bra .nolet
  240.  
  241. .itsalet:
  242.  asl.w #7,d4
  243.  lea (a0,d4.w),a5
  244.  moveq #7,d6
  245. .dolet: 
  246.  move.w (a5)+,d1
  247.  bne.s .okpix1
  248.  move.w (a3,d5.l),d1
  249.  and.w #$eee,d1
  250.  lsr.w #1,d1
  251. .okpix1:
  252.  move.w d1,(a2,d5.l)
  253.  move.w (a5)+,d1
  254.  bne.s .okpix2
  255.  move.w 4(a3,d5.l),d1
  256.  and.w #$eee,d1
  257.  lsr.w #1,d1
  258. .okpix2:
  259.  move.w d1,4(a2,d5.l)
  260.  move.w (a5)+,d1
  261.  bne.s .okpix3
  262.  move.w 8(a3,d5.l),d1
  263.  and.w #$eee,d1
  264.  lsr.w #1,d1
  265. .okpix3:
  266.  move.w d1,8(a2,d5.l)
  267.  move.w (a5)+,d1
  268.  bne.s .okpix4
  269.  move.w 12(a3,d5.l),d1
  270.  and.w #$eee,d1
  271.  lsr.w #1,d1
  272. .okpix4:
  273.  move.w d1,12(a2,d5.l)
  274.  move.w (a5)+,d1
  275.  bne.s .okpix5
  276.  move.w 16(a3,d5.l),d1
  277.  and.w #$eee,d1
  278.  lsr.w #1,d1
  279. .okpix5:
  280.  move.w d1,16(a2,d5.l)
  281.  move.w (a5)+,d1
  282.  bne.s .okpix6
  283.  move.w 20(a3,d5.l),d1
  284.  and.w #$eee,d1
  285.  lsr.w #1,d1
  286. .okpix6:
  287.  move.w d1,20(a2,d5.l)
  288.  move.w (a5)+,d1
  289.  bne.s .okpix7
  290.  move.w 24(a3,d5.l),d1
  291.  and.w #$eee,d1
  292.  lsr.w #1,d1
  293. .okpix7:
  294.  move.w d1,24(a2,d5.l)
  295.  move.w (a5)+,d1
  296.  bne.s .okpix8
  297.  move.w 28(a3,d5.l),d1
  298.  and.w #$eee,d1
  299.  lsr.w #1,d1
  300. .okpix8:
  301.  move.w d1,28(a2,d5.l)
  302.  add.l #104*4,d5
  303.  dbra d6,.dolet
  304.  
  305. .nolet:
  306.  dbra d3,.down
  307.  add.w #4*8,a3
  308.  add.w #4*8,a2
  309.  addq #1,a1
  310.  dbra d0,.across 
  311.  
  312.  rts
  313.  
  314. PAUSETXT:
  315. ;      012345678901
  316.  dc.b '            '    0
  317.  dc.b '            '    1
  318.  dc.b '            '    2
  319. FBUFFOPTLINE:
  320.  dc.b '            '    3
  321.  dc.b '            '    4
  322.  dc.b 'FLOOR DETAIL'    5
  323. FLOOROPTLINE:
  324.  dc.b '  GOURAUD   '    6
  325.  dc.b '            '    7
  326.  dc.b '            '    8
  327.  dc.b '            '    9
  328.  
  329. FBUFFOPTS:
  330.  dc.b '    OFF     '
  331.  dc.b '    ON      '
  332.  
  333. FLOOROPTS:
  334.  dc.b '  GOURAUD   '
  335.  dc.b '  TEXTURED  '
  336.  dc.b 'PLAIN SHADED'
  337.  dc.b '    NONE    '
  338.  
  339. PAUSEFONT:
  340.  incbin "PAUSEFONT"